package com.front.mapper;

import com.front.entity.CarWashOrderRecord;
import com.front.entity.CheckoutInfo;
import com.front.entity.CheckoutStatistics;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface CheckoutInfoDao extends BaseMapper<CheckoutInfo> {

    /**
     * 根据用户id查询信息
     */
    List<CheckoutInfo> queryUser(@Param("userId") Integer userId);
    /**
     * 根据车牌号查询信息
     */
    CheckoutInfo queryCarNo(@Param("carNo") String carNo);
    /**
     * 根据时间统计所有门店信息
     * @param date
     * @return
     */
    List<CheckoutStatistics> getDailyCheckoutStatistics(@Param("date")  String date);

    /**
     * 洗车订单信息
     * @param date
     * @return
     */
    List<CarWashOrderRecord> queryOrder(@Param("date")  String date, @Param("userId") Integer userId);
    /**
     * 门店id查询单个门店的信息
     * @param storeId
     * @return
     */
    List<CheckoutStatistics> getDailyCheckoutStatisticsId(@Param("storeId")  Integer storeId);
    /**
     * 权限管理需要的字段
     *
     * @param
     */
    <E extends IPage<CheckoutInfo>> E queryMune(E page);

    List<CheckoutInfo> queryOrderTotal();
    List<CheckoutInfo> queryOrderDay();
    List<CheckoutInfo> queryOrderTime();


    IPage<CheckoutInfo> queryCheckoutInfoCar(Page<CheckoutInfo> page, QueryWrapper queryWrapper);
}

